#include "light.h"
#include "stm32f1xx_hal.h"
#include "tim.h"
#include "adc.h"

#define LIGHT_SENSOR_ADC_TIMEOUT HAL_MAX_DELAY

extern ADC_HandleTypeDef hadc1;
static ADC_HandleTypeDef *g_HADC_LightSensor = &hadc1;

/**********************************************************************
 * 函数名称： LightSensor_Init
 * 功能描述： 光敏电阻的初始化函数
 * 输入参数： 无
 * 输出参数： 无
 * 返 回 值： 无
 * 修改日期：      版本号     修改人	      修改内容
 * -----------------------------------------------
 * 2023/08/04	     V1.0	  韦东山	      创建
 ***********************************************************************/
void LightSensor_Init(void)
{
    /* PA3用作ADC(ADC1_IN3) */
    HAL_ADCEx_Calibration_Start(g_HADC_LightSensor);
}


bool LightSensor_Read(uint32_t *pData)
{
    HAL_ADC_Start(g_HADC_LightSensor);
    if (HAL_OK == HAL_ADC_PollForConversion(g_HADC_LightSensor, LIGHT_SENSOR_ADC_TIMEOUT))
    {
        *pData = HAL_ADC_GetValue(g_HADC_LightSensor);
        return true;
    }
    else
    {
        return false;
    }
}
